set(BASELINE ${ITK_DATA_ROOT}/Baseline/Segmentation)
set(TEMP ${ITK_BINARY_DIR}/Testing/Temporary)

itk_add_test(
  NAME
  ConfidenceConnectedWhiteTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConfidenceConnectedWhiteTest.png}
  ${TEMP}/ConfidenceConnectedWhiteTest.png
  $<TARGET_FILE:ConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConfidenceConnectedWhiteTest.png
  60
  116
)

itk_add_test(
  NAME
  ConfidenceConnectedVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConfidenceConnectedVentricleTest.png}
  ${TEMP}/ConfidenceConnectedVentricleTest.png
  $<TARGET_FILE:ConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConfidenceConnectedVentricleTest.png
  81
  112
)

itk_add_test(
  NAME
  ConfidenceConnectedGrayTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConfidenceConnectedGrayTest.png}
  ${TEMP}/ConfidenceConnectedGrayTest.png
  $<TARGET_FILE:ConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConfidenceConnectedGrayTest.png
  107
  69
)

itk_add_test(
  NAME
  ConnectedThresholdWhiteTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConnectedThresholdWhiteTest.png}
  ${TEMP}/ConnectedThresholdWhiteTest.png
  $<TARGET_FILE:ConnectedThresholdImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConnectedThresholdWhiteTest.png
  60
  116
  150
  180
)

itk_add_test(
  NAME
  ConnectedThresholdVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConnectedThresholdVentricleTest.png}
  ${TEMP}/ConnectedThresholdVentricleTest.png
  $<TARGET_FILE:ConnectedThresholdImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConnectedThresholdVentricleTest.png
  81
  112
  210
  250
)

itk_add_test(
  NAME
  ConnectedThresholdGrayTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ConnectedThresholdGrayTest.png}
  ${TEMP}/ConnectedThresholdGrayTest.png
  $<TARGET_FILE:ConnectedThresholdImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ConnectedThresholdGrayTest.png
  107
  69
  180
  210
)

itk_add_test(
  NAME
  FastMarchingLeftVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/FastMarchingLeftVentricleTest.png,:}
  ${TEMP}/FastMarchingLeftVentricleTest.png
  $<TARGET_FILE:FastMarchingImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/FastMarchingLeftVentricleTest.png
  81
  114
  1.0
  -0.5
  3.0
  100
  100
  debug1.png
  debug2.png
  debug3.png
)

itk_add_test(
  NAME
  FastMarchingRightVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/FastMarchingRightVentricleTest.png,:}
  ${TEMP}/FastMarchingRightVentricleTest.png
  $<TARGET_FILE:FastMarchingImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/FastMarchingRightVentricleTest.png
  99
  114
  1.0
  -0.5
  3.0
  100
  100
  debug1.png
  debug2.png
  debug3.png
)

itk_add_test(
  NAME
  FastMarchingWhiteMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/FastMarchingWhiteMatterTest.png,:}
  ${TEMP}/FastMarchingWhiteMatterTest.png
  $<TARGET_FILE:FastMarchingImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/FastMarchingWhiteMatterTest.png
  56
  92
  1.0
  -0.3
  2.0
  200
  100
  debug1.png
  debug2.png
  debug3.png
)

itk_add_test(
  NAME
  FastMarchingGrayMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/FastMarchingGrayMatterTest.png,:}
  ${TEMP}/FastMarchingGrayMatterTest.png
  $<TARGET_FILE:FastMarchingImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/FastMarchingGrayMatterTest.png
  40
  90
  .5
  -0.3
  2.0
  200
  100
  debug1.png
  debug2.png
  debug3.png
)

itk_add_test(
  NAME
  GeodesicActiveContourLeftVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/GeodesicActiveContourLeftVentricleTest.png,:}
  ${TEMP}/GeodesicActiveContourLeftVentricleTest.png
  $<TARGET_FILE:GeodesicActiveContourImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/GeodesicActiveContourLeftVentricleTest.png
  81
  114
  5.0
  1.0
  -0.5
  3.0
  2.0
)

itk_add_test(
  NAME
  GeodesicActiveContourRightVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/GeodesicActiveContourRightVentricleTest.png,:}
  ${TEMP}/GeodesicActiveContourRightVentricleTest.png
  $<TARGET_FILE:GeodesicActiveContourImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/GeodesicActiveContourRightVentricleTest.png
  99
  114
  5.0
  1.0
  -0.5
  3.0
  2.0
)

itk_add_test(
  NAME
  GeodesicActiveContourWhiteMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/GeodesicActiveContourWhiteMatterTest.png,:}
  ${TEMP}/GeodesicActiveContourWhiteMatterTest.png
  $<TARGET_FILE:GeodesicActiveContourImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/GeodesicActiveContourWhiteMatterTest.png
  56
  92
  5.0
  1.0
  -0.3
  2.0
  10.0
)

itk_add_test(
  NAME
  GeodesicActiveContourGrayMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/GeodesicActiveContourGrayMatterTest.png,:}
  ${TEMP}/GeodesicActiveContourGrayMatterTest.png
  $<TARGET_FILE:GeodesicActiveContourImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/GeodesicActiveContourGrayMatterTest.png
  40
  90
  5.0
  .5
  -0.3
  2.0
  10.0
)

itk_add_test(
  NAME
  ShapeDetectionLevelSetLeftVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ShapeDetectionLevelSetLeftVentricleTest.png,:}
  ${TEMP}/ShapeDetectionLevelSetLeftVentricleTest.png
  $<TARGET_FILE:ShapeDetectionLevelSetFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ShapeDetectionLevelSetLeftVentricleTest.png
  81
  114
  5.0
  1.0
  -0.5
  3.0
  0.05
  1.0
)

itk_add_test(
  NAME
  ShapeDetectionLevelSetRightVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ShapeDetectionLevelSetRightVentricleTest.png,:}
  ${TEMP}/ShapeDetectionLevelSetRightVentricleTest.png
  $<TARGET_FILE:ShapeDetectionLevelSetFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ShapeDetectionLevelSetRightVentricleTest.png
  99
  114
  5.0
  1.0
  -0.5
  3.0
  0.05
  1.0
)

itk_add_test(
  NAME
  ShapeDetectionLevelSetWhiteMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ShapeDetectionLevelSetWhiteMatterTest.png,:}
  ${TEMP}/ShapeDetectionLevelSetWhiteMatterTest.png
  $<TARGET_FILE:ShapeDetectionLevelSetFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ShapeDetectionLevelSetWhiteMatterTest.png
  56
  92
  5.0
  1.0
  -0.3
  2.0
  0.05
  1.0
)

itk_add_test(
  NAME
  ShapeDetectionLevelSetGrayMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ShapeDetectionLevelSetGrayMatterTest.png,:}
  ${TEMP}/ShapeDetectionLevelSetGrayMatterTest.png
  $<TARGET_FILE:ShapeDetectionLevelSetFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ShapeDetectionLevelSetGrayMatterTest.png
  40
  90
  5.0
  1.0
  -0.3
  2.0
  0.05
  1.0
)

itk_add_test(
  NAME
  ThresholdSegmentationLevelSetVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ThresholdSegmentationLevelSetVentricleTest.png,:}
  ${TEMP}/ThresholdSegmentationLevelSetVentricleTest.png
  $<TARGET_FILE:ThresholdSegmentationLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ThresholdSegmentationLevelSetVentricleTest.png
  81
  112
  5
  210
  250
)

itk_add_test(
  NAME
  ThresholdSegmentationLevelSetWhiteMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ThresholdSegmentationLevelSetWhiteMatterTest.png,:}
  ${TEMP}/ThresholdSegmentationLevelSetWhiteMatterTest.png
  --compareNumberOfPixelsTolerance
  40
  $<TARGET_FILE:ThresholdSegmentationLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ThresholdSegmentationLevelSetWhiteMatterTest.png
  60
  116
  5
  150
  180
)

itk_add_test(
  NAME
  ThresholdSegmentationLevelSetGrayMatterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/ThresholdSegmentationLevelSetGrayMatterTest.png,:}
  ${TEMP}/ThresholdSegmentationLevelSetGrayMatterTest.png
  $<TARGET_FILE:ThresholdSegmentationLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/ThresholdSegmentationLevelSetGrayMatterTest.png
  107
  69
  5
  180
  210
)

itk_add_test(
  NAME
  VectorConfidenceConnectedTest1
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/VectorConfidenceConnected1.png}
  ${TEMP}/VectorConfidenceConnected1.png
  $<TARGET_FILE:VectorConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/VisibleWomanEyeSlice.png
  ${TEMP}/VectorConfidenceConnected1.png
  70
  120
  7
  1
)

itk_add_test(
  NAME
  VectorConfidenceConnectedTest2
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/VectorConfidenceConnected2.png}
  ${TEMP}/VectorConfidenceConnected2.png
  $<TARGET_FILE:VectorConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/VisibleWomanEyeSlice.png
  ${TEMP}/VectorConfidenceConnected2.png
  23
  93
  7
  1
)

itk_add_test(
  NAME
  VectorConfidenceConnectedTest3
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/VectorConfidenceConnected3.png}
  ${TEMP}/VectorConfidenceConnected3.png
  $<TARGET_FILE:VectorConfidenceConnected>
  ${ITK_SOURCE_DIR}/Examples/Data/VisibleWomanEyeSlice.png
  ${TEMP}/VectorConfidenceConnected3.png
  66
  66
  3
  1
)

itk_add_test(
  NAME
  CannySegmentationLevelSetImageFilterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/CannySegmentationLevelSetImageFilterTest.png}
  ${TEMP}/CannySegmentationLevelSetImageFilterTest.png
  $<TARGET_FILE:CannySegmentationLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  DATA{${BASELINE}/ThresholdSegmentationLevelSetVentricle.png}
  ${TEMP}/CannySegmentationLevelSetImageFilterTest.png
  7
  0.1
  -10.0
  127.5
  10000
)

itk_add_test(
  NAME
  GeodesicActiveContourShapePriorCallosumTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/GeodesicActiveContourShapePriorCallosumTest.png}
  ${TEMP}/GeodesicActiveContourShapePriorCallosumTest.png
  $<TARGET_FILE:GeodesicActiveContourShapePriorLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainMidSagittalSlice.png
  ${TEMP}/GeodesicActiveContourShapePriorCallosumTest.png
  120
  85
  60
  102
  88
  83
  6
  1.0
  0.5
  0.02
  ${ITK_SOURCE_DIR}/Examples/Data/CorpusCallosumMeanShape.mha
  3
  ${ITK_SOURCE_DIR}/Examples/Data/CorpusCallosumMode%d.mha
  10
  0
)

itk_add_test(
  NAME
  NeighborhoodConnectedWhiteTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/NeighborhoodConnectedWhiteTest.png}
  ${TEMP}/NeighborhoodConnectedWhiteTest.png
  $<TARGET_FILE:NeighborhoodConnectedImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/NeighborhoodConnectedWhiteTest.png
  60
  116
  150
  180
)

itk_add_test(
  NAME
  NeighborhoodConnectedVentricleTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/NeighborhoodConnectedVentricleTest.png}
  ${TEMP}/NeighborhoodConnectedVentricleTest.png
  $<TARGET_FILE:NeighborhoodConnectedImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/NeighborhoodConnectedVentricleTest.png
  81
  112
  210
  250
)

itk_add_test(
  NAME
  NeighborhoodConnectedGrayTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/NeighborhoodConnectedGrayTest.png}
  ${TEMP}/NeighborhoodConnectedGrayTest.png
  $<TARGET_FILE:NeighborhoodConnectedImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/NeighborhoodConnectedGrayTest.png
  107
  69
  180
  210
)

itk_add_test(
  NAME
  IsolatedConnectedTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/IsolatedConnectedTest.png}
  ${TEMP}/IsolatedConnectedTest.png
  $<TARGET_FILE:IsolatedConnectedImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/IsolatedConnectedTest.png
  61
  140
  150
  63
  43
)

itk_add_test(
  NAME
  RelabelComponentImageFilterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/RelabelComponentImageFilter.png}
  ${TEMP}/RelabelComponentImageFilter.png
  $<TARGET_FILE:RelabelComponentImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/WatershedSegmentation.png
  ${TEMP}/RelabelComponentImageFilter.png
)

itk_add_test(
  NAME
  WatershedSegmentation1Test1
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/WatershedSegmentation1Test1.png}
  ${TEMP}/WatershedSegmentation1Test1.png
  $<TARGET_FILE:WatershedSegmentation1>
  ${ITK_SOURCE_DIR}/Examples/Data/VisibleWomanEyeSlice.png
  ${TEMP}/WatershedSegmentation1Test1.png
  2.0
  10
  0.0
  0.05
  1
)

itk_add_test(
  NAME
  WatershedSegmentation1Test2
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/WatershedSegmentation1Test2.png}
  ${TEMP}/WatershedSegmentation1Test2.png
  $<TARGET_FILE:WatershedSegmentation1>
  ${ITK_SOURCE_DIR}/Examples/Data/VisibleWomanEyeSlice.png
  ${TEMP}/WatershedSegmentation1Test2.png
  2.0
  10
  0.001
  0.15
  0
)

itk_add_test(
  NAME
  CurvesLevelSetImageFilterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/CurvesLevelSetImageFilterTest.png}
  ${TEMP}/CurvesLevelSetImageFilterTest.png
  $<TARGET_FILE:CurvesLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  ${TEMP}/CurvesLevelSetImageFilterTest.png
  81
  114
  5.0
  1.0
  -0.5
  3.0
  2.0
)

itk_add_test(
  NAME
  HoughTransformTwo2DLinesTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/HoughTransformTwoLinesTest.png}
  ${TEMP}/HoughTransformTwoLinesTest.png
  $<TARGET_FILE:HoughTransform2DLinesImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/HoughTransformTwoLines.png
  ${TEMP}/HoughTransformTwoLinesTest.png
  2
  5
  10
)

itk_add_test(
  NAME
  HoughTransformTwo2DCirclesTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/HoughTransformTwoCirclesTest.png}
  ${TEMP}/HoughTransformTwoCirclesTest.png
  $<TARGET_FILE:HoughTransform2DCirclesImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/HoughTransformTwoCircles.png
  ${TEMP}/HoughTransformTwoCirclesTest.png
  2
  6
  20
  3.14
  10
  5
  1.5
)

itk_add_test(
  NAME
  LaplacianSegmentationLevelSetImageFilterTest
  COMMAND
  ${ITK_TEST_DRIVER}
  --compare
  DATA{${BASELINE}/LaplacianSegmentationLevelSetImageFilter.png}
  ${TEMP}/LaplacianSegmentationLevelSetImageFilter.png
  $<TARGET_FILE:LaplacianSegmentationLevelSetImageFilter>
  ${ITK_SOURCE_DIR}/Examples/Data/BrainProtonDensitySlice.png
  DATA{${BASELINE}/ThresholdSegmentationLevelSetVentricle.png}
  ${TEMP}/LaplacianSegmentationLevelSetImageFilter.png
  10
  2.0
  1
  127.5
  15
)
